Embodiments of the present invention relate generally to distribution of content and more particularly to off-peak, background delivery of content.
A content provider can make audio, video, and/or other media content available on a real-time basis, i.e., for immediate or near immediate download and consumption. So, a user can request a specific piece of content and view, listen to, or otherwise consume the content as it is being received. Additionally, a content provider can make content available on a non-real-time basis. In such a case, the user can request, download, and save the content for later consumption. Such downloads can be made on a scheduled basis, on an “as-available” basis, or on some other arrangement wherein the content is provided at some time later than the request. For example, such downloads may be made during off-peak hours when additional bandwidth is available, i.e., there are fewer real-time users. However, even during these off-peak hours, real-time users expect, and in fact may have agreements specifying, a minimum QoS.
Additionally, if the combined bandwidth used by the real-time downloads and the scheduled or background downloads exceeds some specified amount, the content provider may be subject to additional charges or fees for bandwidth usage. Conversely, bandwidth that has been paid for but that is not being utilized is wasted. Thus, content providers attempt to maintain a balance between providing a certain QoS for real-time users and preventing additional charges for excessive bandwidth usage.
Existing methods of maintaining this balance involve scheduling non-real-time use during off-peak hours and setting a hard limit for the total bandwidth utilized at any given time. That is, non-real-time use or downloads are placed into a delivery queue to be played out or delivered during known off-peak periods, e.g., overnight, and are delivered as soon as possible within the scheduled period and within the limits imposed on bandwidth utilization. However, such an approach is rather inflexible and fails to take into consideration factors other than the total bandwidth utilization. Hence, there is a need in the art for improved methods and systems for managing bandwidth utilization.